package com.todo.delicacy.iface.frontend.response;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author azhebuxing
 * @date 2024/6/4 20:30
 * @description
 */
@Data
@Schema(name = "美食详情返回参数", description = "美食详情返回参数")
public class FoodDetailVO {

    @Schema(name = "主键id", description = "主键id")
    private Long foodId;

    @Schema(name = "饭店id", description = "饭店id")
    private Long restaurantId;

    @Schema(name = "餐品名称", description = "餐品名称")
    private String name;

    @Schema(name = "餐品描述", description = "餐品描述")
    private String desc;

    @Schema(name = "餐品类型", description = "餐品类型:小炒、火锅等")
    private Integer foodType;

    @Schema(name = "餐品类型描述", description = "餐品类型:小炒、火锅等")
    private String foodTypeStr;

    @Schema(name = "配料、制作方式等", description = "配料、制作方式等")
    private FoodBatching batching;

    @Schema(name = "推荐原因", description = "推荐原因")
    private String recommend;

    @Schema(name = "售价", description = "售价")
    private BigDecimal price;

    @Schema(name = "主图", description = "主图")
    private String mainImg;

    @Schema(name = "默认排序", description = "默认排序")
    private Integer sort;

    @Schema(name = "图片、关联探店等信息", description = "图片、关联探店等信息")
    private Extra extra;

    @Data
    public static class Extra {

        @Schema(name = "图片列表", description = "图片列表")
        private List<String> imgList;

        @Schema(name = "外部关联列表", description = "外部关联列表")
        private List<OutSideRelation> outSideRelationList;
    }

    @Data
    public static class OutSideRelation {

        @Schema(name = "关联平台", description = "关联平台")
        private String relationPlatform;

        @Schema(name = "跳转url", description = "跳转url")
        private String jumpUrl;

        @Schema(name = "探索推荐信息", description = "探索推荐信息")
        private String exploreRecommend;
    }

    @Data
    public static class FoodBatching {

        @Schema(name = "配料", description = "配料")
        private String batching;

        @Schema(name = "制作方式", description = "制作方式")
        private String makeWay;
    }
}
